A system may be viewed as a combination and interconnection of several components to generate an output in response to an input applied to the system. The output of the system depends upon the input of the system. In some systems, the output also depends on the state of the system. In a linear, time-invariant electric circuit, for example, capacitor voltages and inductor currents uniquely specify the circuit condition at any particular time. Thus, the values of the capacitor voltages and inductor currents constitute the state of the circuit.
In a computer, systems may be implemented, simulated or modeled in various programming environments. The programming environments enable computer users to create a computer program for implementing, simulating or modeling the systems, which is written in a set of syntax and semantic rules for expressing instructions to a computer. MATLAB, from The MathWorks, Inc. of Natick, Massachusetts, provides a well-known dynamically typed text-based programming environment. MATLAB integrates mathematical computing, visualization, and a powerful language to provide a flexible environment for technical computing.
Generally, a sequence of input data is applied to a system to produce the output of the system. In the case of a long sequence of input data, it is necessary to input to the system divided portions of the sequence of input data by remembering the state of the system between subsequent runs. This is commonly referred to as streaming data processing or filtering in a loop when the system is a filter. The conventional systems or filters provided in a dynamically typed text-based programming environment did not retain state information of the systems or filters, and therefore were less appropriate in the context of streaming data processing or filtering in a loop. Therefore, the conventional systems including filters provided in a dynamically typed text-based programming environment did not efficiently process a long sequence of input data.